package topevery.syn.data.model;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import topevery.syn.data.model.codec.ModelTypeEnumCodec;

import java.time.LocalDateTime;

@Data
public class WorkData implements IGlbModel {
    @JSONField(name = "a")
    public Long gid;

    @JSONField(name = "b" ,serializeUsing = ModelTypeEnumCodec.class, deserializeUsing = ModelTypeEnumCodec.class)
    public ModelTypeEnum modelType = ModelTypeEnum.Work;

    @Override
    public Long getGid() {
        return gid;
    }

    @Override
    public void setGid(Long gid) {
        this.gid = gid;
    }

    @Override
    public ModelTypeEnum getModelType() {
        return modelType;
    }

    @Override
    public void setModelType(ModelTypeEnum modelType) {
        this.modelType = modelType;
    }

    @JSONField(name = "e")
    public Long fid;

    @JSONField(name = "f")
    public Long gpsFid;

    @JSONField(name = "g")
    public String clientKey;

    @JSONField(name = "h")
    public String clientIp;

    @JSONField(name = "i")
    public Integer clientPort;

    @JSONField(name = "d")
    public Integer packetType;

    public String serviceIp;
    public Integer servicePort;

    @JSONField(name = "j")
    public LocalDateTime dbCreateDate;

    @JSONField(name = "k")
    public Boolean col01;
    @JSONField(name = "l")
    public Boolean col02;
    @JSONField(name = "m")
    public Boolean col03;
    @JSONField(name = "n")
    public Boolean col04;
    @JSONField(name = "o")
    public Boolean col05;
    @JSONField(name = "p")
    public Boolean col06;
    @JSONField(name = "q")
    public Boolean col07;
    @JSONField(name = "r")
    public Boolean col08;
    @JSONField(name = "s")
    public Boolean col09;
    @JSONField(name = "t")
    public Boolean col10;
    @JSONField(name = "u")
    public Boolean col11;
    @JSONField(name = "v")
    public Boolean col12;
    @JSONField(name = "w")
    public Boolean col13;
    @JSONField(name = "x")
    public Boolean col14;
    @JSONField(name = "y")
    public Boolean col15;
    @JSONField(name = "z")
    public Boolean col16;
    @JSONField(name = "a1")
    public Boolean col17;
    @JSONField(name = "a2")
    public Boolean col18;
    @JSONField(name = "a3")
    public Boolean col19;
    @JSONField(name = "a4")
    public Boolean col20;
    @JSONField(name = "a5")
    public Boolean col21;
    @JSONField(name = "a6")
    public Boolean col22;
    @JSONField(name = "a7")
    public Boolean col23;
    @JSONField(name = "a8")
    public Boolean col24;
    @JSONField(name = "a9")
    public Boolean col25;
    @JSONField(name = "b1")
    public Boolean col26;
    @JSONField(name = "b2")
    public Boolean col27;
    @JSONField(name = "b3")
    public Boolean col28;
    @JSONField(name = "b4")
    public Boolean col29;
    @JSONField(name = "b5")
    public Boolean col30;
    @JSONField(name = "b6")
    public Boolean col31;
    @JSONField(name = "b7")
    public Boolean col32;

    @Override
    public String getGlbModelKey() {
        return clientKey;
    }
}
